<template>
	<view>
		<view style="font-size: 24rpx;margin-left: 12rpx;">次数</view>
		<view class="charts-box">
			<qiun-data-charts type="line" :opts="opts" :canvas2d="true" :chartData="chartData" />
		</view>
	</view>
</template>

<script>
	import {inspectionline} from '@/api/index.js'
	export default {
		props:['year'],
		data() {
			return {
				chartData: {},
				//您可以通过修改 config-ucharts.js 文件中下标为 ['line'] 的节点来配置全局默认参数，如都是默认参数，此处可以不传 opts 。实际应用过程中 opts 只需传入与全局默认参数中不一致的【某一个属性】即可实现同类型的图表显示不同的样式，达到页面简洁的需求。
				opts: {
					color: [ "#91CB74","#1890FF", "#9A60B4", "#FAC858"],
					padding: [15, 10, 0, 15],
					enableScroll: false,
					 dataLabel: false,
					legend: {
						show: true,
						position: "bottom",
						lineHeight: 25,
						fontSize:10
					},
					xAxis: {
						disableGrid: true
					},
					yAxis: {
						gridType: "dash",
						dashLength: 2
					},
					extra: {
						line: {
							type: "straight",
							width: 2,
							activeType: "hollow"
						}
					}
				}
			};
		},
		mounted() {
			this.getServerData();
		},
		watch:{
			year(){
				this.getServerData();
			}
		},
		methods: {
			getServerData() {
				inspectionline(this.year).then(res=>{
					const result = this.processEnvironmentData(res.data);
					this.chartData = JSON.parse(JSON.stringify(result));
				})
			},
			processEnvironmentData(data) {
				const categories = data.map(item => {
					let month = item.month
					return month.slice(month.indexOf('-') + 1)
				})
			    const series = [
			        {
			            name: '计划',
			            data: data.map(item => item.planned)
			        },
			        {
			            name: '实际',
			            data: data.map(item => item.actual)
			        }
			    ];
			    
			    return { categories, series };
			}
		}
	};
</script>

<style scoped>
	/* 请根据实际需求修改父元素尺寸，组件自动识别宽高 */
	.charts-box {
		width: 95%;
		height: 400rpx;
	}
</style>